The remarkable progress of recent years in the cellular telephone and in the micro information technology has allowed creation of a lot of responses to the increasing demand for apparatuses for mobile data transmission. Such apparatuses allow performing from any place most of the operations that once one were obliged to be performed through a conventional telephone line, for example, sending messages, transferring files, and communicating by fax.
Subscriber Identity Module (SIM) cards are evolving to such an extent as to allow to host directly the characteristics and functions typically available on cellular phones and maintain the possibility of implementing additional functions at a second time. In respect to the prior art cell phone, there exists a special type of SIM card which can be used as a credit card with its own PIN and greater safety in the economical transactions than that ensured by the traditional credit cards.
It is clear that the SIM card is becoming something more than a simple support to the Global System for Mobile Communications (GSM) standard for taking the connotation of an identity card, a purse, a diary, or an organiser. Such increasing complexity and variety of operations available on SIM cards is naturally supported by more sophisticated software. The manufacturers of SIM cards tend to provide the managers with a kit comprising a series of SIM cards and some software applications necessary for developing the first applications.
As the complexity of the software and thus the functionalities of the SIM card grow, the difficulty of testing such functionalities, which are indispensable for ensuring a reliable and safe product, grow. Currently, the majority of tests on the GSM applications is based on the test manual execution by sailing through the application at issue by way of a mobile phone. Such tests are generally indicated as “live tests”.
Another common approach is automatically executing instructions or test scripts, coded in a standard programming language, by using a mobile simulator which allows exchanging and tracing commands between a GSM Card and a test system. This approach is disclosed, for instance, in the article by Bernard et al: “Generation of test sequences from formal specifications: GSM 11-11 standard case study” Software Practice & Experience vol. 34, No. 10-August 2004. The advantage of this approach is substantially due to the fact that, after having coded a test with a corresponding script language, the test can be quickly applied on the SIM in the suitably arranged test system.
In particular, a test case is a group of inputs, execution conditions, and corresponding expected results used for testing an application; the test case input, used with input in the application to be tested, must produce, as outcome, the expected result foreseen by the case test. An example of the application of such test cases applied to the SIM card according to the described approach is schematically shown in FIG. 1 and globally indicated with 6.
In particular, a mobile simulator 2 is schematically shown being connected to the SIM card 1 and used for sending requests and receiving responses from the SIM card 1 object of the test. The mobile simulator 2 is in turn connected through the connection interface 3 to a test system 5 comprising a personal computer 4 whereon a suitably coded and installed test procedure can be activated. The mobile simulator 2 responds to the invocations of the test system 6 trained by the computer 4 whereon a test script has been installed.
When an anomaly is revealed in the software application stored on the SIM card 1, the correction of the revealed fault is attended to and the instructions or test scripts 5 can be repeated in an exhaustive way without making use of personnel, quickly and with low fault probability. This approach is less expensive and more reliable than the live test but it has some drawbacks as highlighted by FIG. 2. In such a representation, it can be seen that the test script 5 must be recoded by a programmer expert in the scripting language and be replaced with a test script 7 suitably modified and installed on the test system 6 supported by the computer 4.
Any time the software application stored on the SIM card 1 is modified or updated, which is frequent in the approach above described, an intervention is necessary on the test script used for performing the quality control of the software applications installed on the SIM card 1. In such case, a programmer specialized in the scripting language used for generating the test script 5 must take care of replacing the code of the test script 5 with a test script code 7 adapted to the new specifications of the revised application on the SIM card.
Another known approach is disclosed in the article by J. Philipps et al. concerning a: “Model-based test case generation for smart cards”—Electronic Notes in Theoretical Computer Science, vol. 80, 2003 wherein it is disclosed a method for automatically generating test cases from an explicit model of a process under testing. This approach has a drawback due to the fact that the structure or frame of the process under testing must be known in advance before performing an automatic generation of a test case. In other words, the behavior of the system or process under testing must be known in advance to recognize and identify each process step during the testing phase. In this respect, the model-based method of the above approach is based on a state machine that may only evolve from one state to another among a predetermined number of states.
The problem underlying the present method is that of providing a method which automatically generates test case necessary to test the GSM applications on SIM cards, even without knowing in advance the kind of the application, so as to facilitate the evolutions of the test case itself when the GSM application on SIM card undergoes variations and such as to make less expensive in terms of time and resources not only the test step but also the generation step of the group of instructions for the test itself.